﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace Corvus
{
    /// <summary>
    /// A light weight "pointer" class used to reference one aggregate root from another
    /// </summary>
    /// <typeparam name="TAggregateRoot"></typeparam>
    public interface IEntityReference<TAggregateRoot> : IEntityReference
        where TAggregateRoot : IAggregateRoot
    {

        /// <summary>
        /// The actual aggregate
        /// </summary>
         TAggregateRoot Instance { get;  }
    }
}
